<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        // es6新增声明变量的方法
        //    let
        //    const


        // 共同点
        // 1 变量必须先声明后使用 --- 没有预编译
        // 2 在同一个作用域下，变量不能重复声明
        // 3 具有块级作用域的   块级指的是{}    --- 一般 for  switch  if  函数 中比较常见{}

        // 区别
        //   let 用来声明变量   --- 可以改变的
        //   const 用来声明常量   --- 不能改变的


        // 局部作用域   以函数为界
        // 块级作用域   以大括号为界




        // console.log(a);
        // let a = 1;

        // // let a = 'hi';


        // function f() {
        //     let a = 'hi';
        //     console.log(a);
        // }

        // f()



        // for (let i = 0; i < 10; i++) {

        // }
        // console.log(i);


        // if (true) {
        //     let s = 1;
        // }

        // console.log(s);



        // {
        //     let d = 1;
        //     console.log(d);
        // }


        // 1 + (2 * 3)


        // const a = 1;

        // // const a = 2 ;

        // {
        //     const b = 2;
        // }

        // console.log(b);


        let a = 1;
        a++;
        console.log(a);   // 2


        const b = 1;
        // b++;    // 报错
        console.log(b);


        // const d;   // const在声明的时候必须立即赋值  --- 赋值以后不能再改变


    </script>

</body>

</html>